Enterprise Version
making it reusable